﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Loja.Business;
using Telerik.Web.Mvc;
using System.Data.Entity;
using Loja.Data;
using Loja.Models;
using System.Text;

namespace Loja.Controllers
{
    public class ConsumerController : Controller
    {
        //
        // GET: /Consumer/

        public ActionResult Index()
        {
            
            return View();
        }

        //public ActionResult GetListaCliente()
        //{
        //    ClienteBLL clienteBll = new ClienteBLL();
        //    var clientes = clienteBll.GetListaCliente(0, 10);
        //    List<ClienteModels> listaClientes = new List<ClienteModels>();

        //    foreach (var item in clientes)
        //    {
        //        ClienteModels cliente = new ClienteModels();
        //        cliente.IdCliente = item.IdCliente;
        //        cliente.Nome = item.Nome;
        //        cliente.Telefone = item.Telefone;
        //        cliente.Celular = item.Celular;

        //        listaClientes.Add(cliente);
        //    }

        //    GridModel<ClienteModels> gridModel = new GridModel<ClienteModels> { Data = listaClientes, Total = listaClientes.Count };
        //    return PartialView("_PartialList", gridModel);
        //}

        //[HttpPost, GridAction(EnableCustomBinding = true)]
        //public JsonResult GetListaProduto(GridCommand command)
        //{
        //    ClienteBLL clienteBll = new ClienteBLL();
        //    var clientes = clienteBll.GetListaCliente(command.Page - 1, command.PageSize);
        //    List<ClienteModels> listaClientes = new List<ClienteModels>();

        //    foreach (var item in clientes)
        //    {
        //        ClienteModels cliente = new ClienteModels();
        //        cliente.IdCliente = item.IdCliente;
        //        cliente.Nome = item.Nome;
        //        cliente.Telefone = item.Telefone;
        //        cliente.Celular = item.Celular;

        //        listaClientes.Add(cliente);
        //    }

        //    GridModel<ClienteModels> gridModel = new GridModel<ClienteModels> { Data = listaClientes, Total = listaClientes.Count };
        //    return new JsonResult
        //    {
        //        Data = gridModel
        //    };
        //}

        //[HttpGet]
        //public ActionResult Editar(int idCliente)
        //{
            

        //    ClienteBLL clienteBll = new ClienteBLL();
        //    //var cliente = clienteBll.GetClienteById(idCliente);

        //    var clienteModels = new ClienteModels
        //    {
        //        IdCliente = cliente.IdCliente,
        //        Nome = cliente.Nome,
        //        DataNasc = cliente.DataNasc,
        //        Telefone = cliente.Telefone,
        //        Celular = cliente.Celular,
        //        Endereco = cliente.Endereco,
        //        DataUltimaCompra = cliente.DataUltimaCompra
        //    };

        //    ViewData["Action"] = "SalvarEditacao";

        //    return PartialView("_PartialRegister", clienteModels);
        //}

        [HttpPost]
        public JsonResult SalvarEditacao(ClienteModels cliente)
        {
            ClienteBLL clienteBLL = new ClienteBLL();

            string errosInterface = Validar(cliente);

            if (errosInterface.Length > 0)
            {
                return Json(
                new
                {
                    success = false,
                    erroMessage = errosInterface,
                    sucessMessage = "Novo cliente inserido com sucesso!"

                }, JsonRequestBehavior.AllowGet);
            }

            //clienteBLL.Atualizar(GetCliente(cliente));

            return Json(
                new
                {
                    success = true,
                    sucessMessage = "Novo cliente inserido com sucesso!"

                }, JsonRequestBehavior.AllowGet);
            
        }


        [NonAction]
        private string Validar(ClienteModels cliente)
        {
            StringBuilder erros = new StringBuilder();

            if (string.IsNullOrEmpty(cliente.Nome))
                erros.Append("Por favor informe um Nome.<br />");
            if (string.IsNullOrEmpty(cliente.Celular))
                erros.Append("Por favor informe um Celular.<br />");
            return erros.ToString().Trim();
        }

        //[NonAction]
        //private Cliente GetCliente(ClienteModels cliente)
        //{
        //   var clie = new Cliente
        //   {
        //       Nome = cliente.Nome,
        //       DataNasc = cliente.DataNasc,
        //       Telefone = cliente.Telefone,
        //       Celular = cliente.Celular,
        //       Endereco = cliente.Endereco,
        //       DataUltimaCompra = cliente.DataUltimaCompra,
        //   };

        //    if (cliente.IdCliente > 0)
        //    {
        //        clie.IdCliente = cliente.IdCliente;
        //    }

        //    return clie;
        //}

    }
}
